[求助]码的含义

来源:百度知道 编辑:UC知道 时间:2024/06/08 03:02:05
private FwxxDAO fwxxDAO=new FwxxDAOJdbcImpl();
其中,FwxxDAO是一个接口,FwxxDAOJdbcImpl是一个类。请问这种写法的含义是什么。
谢谢!

这是多态,通俗的说也就是用子类去实例化父类对象。
在这里面,因为FwxxDAO是个接口,无法直接实例化,所以需要用实现了这个接口的类去实例化该接口,然后就可以调用该接口中的所有方法了。由于多态的特性,子类中独具的方法就无法调用了,除非使用instanceof关键字,然后强制转换才行.

首先:你贴的代码看起来并不是很合理,DAO这么写其实没什么意思,因为DAO都是一些基本的db操作,DAO的代码甚至可以自动生成,最多写一个共通的BaseDAO父类就可以了,不用每个类单独设计一个接口。
这里这么写显得有些不伦不类,可能dao或多或少分担了一些service的工作,层次不是很清楚。
其实,如果这不是一个dao而是一个service就很有必要了,因为在设计阶段项目经理就可以把每个service分别有哪些功能都列出来,这就可以写一个接口,里面并没有实现,在编码阶段再由程序员实现这个接口,这时候才在类里把接口的方法实现了,这就是多态的一个好处
private FxxService fxxService =new FxxServiceImpl();
这么写是合理的,可能FxxService 这个接口是项目经理写的,FxxServiceImpl是程序员写的